home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Sprite 1984 - 1993
/
Sprite 1984 - 1993.iso
/
lib
/
sendmail
/
RCS
/
sendmail.cf,v
< prev
Wrap
Text File
|
1991-08-14
|
17KB
|
670 lines
head 1.3;
branch ;
access ;
symbols ;
locks ; strict;
comment @@;
1.3
date 91.08.14.12.51.25; author shirriff; state Exp;
branches ;
next 1.2;
1.2
date 90.05.08.22.47.52; author douglis; state Exp;
branches ;
next 1.1;
1.1
date 90.03.16.10.23.08; author douglis; state Exp;
branches ;
next ;
desc
@sendmail configuration file, with minor mods for sprite.
@
1.3
log
@Fixed a bug with mail getting in an infinite loop sprite->allspice->sprite
@
text
@#
# Sendmail
# Copyright (c) 1983 Eric P. Allman
# Berkeley, California
#
# Copyright (c) 1983 Regents of the University of California.
# All rights reserved. The Berkeley software License Agreement
# specifies the terms and conditions for redistribution.
#
# @@(#)renoir.mc 1.10 (Berkeley) 4/25/87
#
############################################################
############################################################
#####
##### SENDMAIL CONFIGURATION FILE
#####
############################################################
############################################################
##################
# local info #
##################
# internet hostname REPLACE HOSTNAME WITH YOUR MACHINE NAME HERE
# The w variable contains the name of the host on which the sendmail is
# running, while the w class contains the name(s) of the local host and
# those of the main mail server as well.
#
Dwsprite.Berkeley.EDU
CwLOCAL sprite where
#############################
### Setup Information ###
#############################
######################
# General Macros #
######################
# our arpanet gateway. Since ucbvax is highly loaded and ginger is
# NIC-registed, let's make outgoing mail claim to be from
# user%spur-host@@ginger.Berkeley.EDU instead of @@Berkeley.EDU.
# ... FD 2/12/88
DAginger.Berkeley.EDU
# local domain names
DDBerkeley.EDU
# major relay host
DRucbvax
# bitnet relay
DCjade
# berknet relay
DB$R
# my official hostname
Dj$w
###############
# Classes #
###############
# our arpanet gateway
CABerkeley UCB ucbc70 c70 UCB-C70 u UCB-VAX ucbvax
# local domain names
CDBERKELEY UCB ucbc70 c70 ucb-c70 u UCB-VAX ucbvax
# major relay host
CRucbvax vax
# all supported top-level domains
CKLOCAL ARPA UUCP BITNET CSNET EDU MIL COM GOV AU IL NET ORG UK US
# local domains
CTLOCAL ARPA UUCP BITNET CSNET
# legal Internet top-level domains
CPARPA EDU MIL GOV COM IL NET ORG UK US
# Internal domains that we use in rewriting (not known by NIC)
CILOCAL UUCP BITNET CSNET DEC MailNET CC
############################################################
############################################################
#####
##### BERKELEY HOSTS REGISTERED WITH THE NIC
#####
############################################################
############################################################
CNbach ucbbach
CNbizet ucbbizet
CNbrahms ucbbrahms
CNcad ucbcad
CNcartan ucbcartan
CNdegas ucbdegas
CNeast ucbeast
CNernie ucbernie
CNesvax ucbesvax
CNginger ucbginger
CNingres ucbingres
CNjade ucbjade
CNji ucbji
CNmedea ucbmedea
CNmike ucbmike
CNmonet ucbmonet
CNoz ucboz
CNrenoir ucbrenoir
CNshadow ucbshadow
CNucbarpa
CNucbvax
CNviolet ucbviolet
CNweyl ucbweyl
######################
# Version Number #
######################
DZ1.29
######################
# Special macros #
######################
# my name
DnMAILER-DAEMON
# UNIX header format
DlFrom $g $d
# delimiter (operator) characters
Do.:%@@!^=/[]
# format of a total name
Dq$g$?x ($x)$.
# SMTP login message
De$j Sendmail $v/$Z ready at $b
# forwarding host -- redefine this if you can't talk to the relay directly #
DF$R
###############
# Options #
###############
# location of alias file
OA/sprite/lib/sendmail/aliases
# wait up to ten minutes for alias file rebuild
# actually, since we don't use dbm anymore, this is irrelevant
Oa10
# substitution for space (blank) characters
OB.
# (don't) connect to "expensive" mailers
#Oc
# default delivery mode (deliver in background)
Odbackground
# temporary file mode
OF0600
# default GID
Og1
# location of help file
OH/sprite/lib/sendmail/sendmail.hf
# log level
# default is 9; we use 8 as cutoff for uninteresting messages.
OL8
# default network name
ONARPA
# default messages to old style
Oo
# queue directory
OQ/sprite/spool/mqueue
# read timeout -- violates protocols
Or2h
# status file
# we need to use md as a link to $MACHINE.md because otherwise sendmail
# interprets the $ incorrectly.
OS/sprite/lib/sendmail/md/sendmail.st
# queue up everything before starting transmission
Os
# default timeout interval
OT3d
# time zone names (V6 only)
OtPST,PDT
# default UID
Ou1
# wizard's password
OW*
# load average at which we just queue messages
Ox8
# load average at which we refuse connections
OX12
###########################
# Message precedences #
###########################
Pfirst-class=0
Pspecial-delivery=100
Pbulk=-60
Pjunk=-100
#####################
# Trusted users #
#####################
Troot
Tdaemon
Tuucp
Teric
Tnetwork
#########################
# Format of headers #
#########################
H?P?Return-Path: <$g>
HReceived: $?sfrom $s $.by $j ($v/$Z)
id $i; $b
H?D?Resent-Date: $a
H?D?Date: $a
H?F?Resent-From: $q
H?F?From: $q
H?x?Full-Name: $x
HSubject:
# HPosted-Date: $a
# H?l?Received-Date: $b
H?M?Resent-Message-Id: <$t.$i@@$j>
H?M?Message-Id: <$t.$i@@$j>
###########################
### Rewriting Rules ###
###########################
################################
# Sender Field Pre-rewriting #
################################
S1
#R$*<$*>$* $1$2$3 defocus
###################################
# Recipient Field Pre-rewriting #
###################################
S2
#R$*<$*>$* $1$2$3 defocus
#################################
# Final Output Post-rewriting #
#################################
S4
R@@ $@@ handle <> error addr
# resolve numeric addresses to name if possible
R$*<@@[$+]>$* $:$1<@@$[[$2]$]>$3 lookup numeric internet addr
# externalize local domain info
R$*<$+>$* $1$2$3 defocus
R@@$+:@@$+:$+ @@$1,@@$2:$3 <route-addr> canonical
# UUCP must always be presented in old form (with domains, leave the ".uucp")
R$+@@$-.UUCP $2!$1 u@@h.UUCP => h!u
R$+@@$-.$-.UUCP $2.$3.uucp!$1 u@@h.UUCP => h!u
R$+@@$-.$-.$-.UUCP $2.$3.$4.uucp!$1 u@@h.UUCP => h!u
R$+@@$-.$-.$-.$-.UUCP $2.$3.$4.$5.uucp!$1 u@@h.UUCP => h!u
R$+@@$-.$-.$-.$-.$-.UUCP $2.$3.$4.$5.$6.uucp!$1 u@@h.UUCP => h!u
# delete duplicate local names -- mostly for arpaproto.mc
R$+%$=w@@$=w $1@@$w u%UCB@@UCB => u@@UCB
R$+%$=w@@$=w.$D $1@@$w u%UCB@@UCB => u@@UCB
###########################
# Name Canonicalization #
###########################
S3
# handle "from:<>" special case
R<> $@@@@ turn into magic token
# basic textual canonicalization -- note RFC733 heuristic here
R$*<$*<$*<$+>$*>$*>$* $4 3-level <> nesting
R$*<$*<$+>$*>$* $3 2-level <> nesting
R$*<$+>$* $2 basic RFC821/822 parsing
R$+ at $+ $1@@$2 "at" -> "@@" for RFC 822
# make sure <@@a,@@b,@@c:user@@d> syntax is easy to parse -- undone later
R@@$+,$+ @@$1:$2 change all "," to ":"
# localize and dispose of route-based addresses
R@@$+:$+ $@@$>6<@@$1>:$2 handle <route-addr>
# more miscellaneous cleanup
R$+ $:$>8$1 host dependent cleanup
R$+:$*;@@$+ $@@$1:$2;@@$3 list syntax
R$+:$*; $@@$1:$2; list syntax
R$+@@$+ $:$1<@@$2> focus on domain
R$+<$+@@$+> $1$2<@@$3> move gaze right
R$+<@@$+> $@@$>6$1<@@$2> already canonical
# convert old-style addresses to a domain-based address
R$+^$+ $1!$2 convert ^ to !
R$-!$+ $@@$>6$2<@@$1.UUCP> resolve uucp names
R$+.$-!$+ $@@$>6$3<@@$1.$2> domain uucps
R$+!$+ $@@$>6$2<@@$1.UUCP> uucp subdomains
R$-:$+ $@@$>6$2<@@$1> host:user
R$-=$+ $@@$>6$2<@@$1.BITNET> resolve bitnet names
R$+%$+ $:$>9$1%$2 user%host
R$+<@@$+> $@@$>6$1<@@$2> already canonical
R$-.$+ $@@$>6$2<@@$1> host.user
#################################
# special local conversions #
#################################
S6
R$*<@@$=w>$* $:$1<@@$w>$3 get into u@@$w form
R$*<@@$=w.$D>$* $:$1<@@$w>$3
R$*<@@$=w.EDU>$* $:$1<@@$w>$3
R$*<@@$=U.UUCP>$* $:$1<@@$w>$3
################################
# Change rightmost % to @@. #
################################
S9
R$*%$* $1@@$2 First make them all @@'s.
R$*@@$*@@$* $1%$2@@$3 Undo all but the last.
R$*@@$* $@@$1<@@$2> Put back the brackets.
###################
### Mailers ###
###################
############################################################
############################################################
#####
##### Local and Program Mailer specification
#####
############################################################
############################################################
# we need to use md as a link to $MACHINE.md because otherwise sendmail
# interprets the $ incorrectly.
Mlocal, P=/sprite/lib/sendmail/md/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u
Mprog, P=/sprite/cmds/sh, F=ElsDFMe, S=10, R=20, A=sh -c $u
S10
R@@ $n errors to mailer-daemon
############################################################
############################################################
#####
##### Arpanet TCP Mailer specification
#####
##### Messages processed by this specification are assumed to leave
##### the local domain -- hence, they must be canonical according to
##### RFC822 etc.
#####
##### This mailer is to be used with the Berkeley Name Server.
#####
############################################################
############################################################
Mtcp, P=[IPC], F=mDFMueXLC, S=14, R=24, A=IPC $h, E=\r\n
S14
# pass <route-addr>'s through
R<@@$+>$* $@@<@@$[$1$]>$2 resolve <route-addr>
# map colons to dots everywhere
R$*:$* $1.$2 map colons to dots
# output local host in user@@host.BERKELEY.EDU syntax
R$- $1<@@$w> user w/o host
R$+<@@$=w> $:$1<@@$w> this host
R$+<@@$-> $:$1<@@$[$2$]> canonicalize into dom
R$+<@@$-> $:$1<@@$2.$D> if nameserver fails
#Remove original restriction for nic-registered hosts
#R$+<@@$=N.$D> $@@$1<@@$2.$D> nic-reg hosts are ok
#R$+<@@$*.$D> $@@$1%$2.$D<@@$A> else -> u%h@@gateway
R$+<@@$*.$D> $@@$1<@@$2.$D> all hosts okay
# if not local, and not a "fake" domain, ask the nameserver
R$+<@@$+.$~I> $@@$1<@@$[$2.$3$]> user@@host.domain
R$+<@@[$+]> $@@$1<@@[$2]> already ok
# output internal ("fake") domains as "user%host@@relay"
R$+<@@$+.CSNET> $@@$1%$2.CSNET<@@relay.cs.net> user@@host.CSNET
R$+<@@$+.BITNET> $@@$1%$2.BITNET<@@jade.berkeley.edu> user@@host.BITNET
R$+<@@$+.UUCP> $@@$2!$1<@@$w> user@@host.UUCP
S24
# put in <> kludge
R$*<$*>$* $1$2$3 defocus
R$* $:$>3$1 now canonical form
# pass <route-addr>'s through
R<@@$+>$* $@@<@@$[$1$]>$2 resolve <route-addr>
# map colons to dots everywhere.....
R$*:$* $1.$2 map colons to dots
# output local host in user@@host.domain syntax
R$- $1<@@$w> user w/o host
R$+<@@$=w> $:$1<@@$w> this host
R$+<@@$-> $:$1<@@$[$2$]> canonicalize into dom
R$+<@@$-> $:$1<@@$2.$D> if nameserver fails
#Remove original restriction for nic-registered hosts
#R$+<@@$=N.$D> $@@$1<@@$2.$D> nic-reg hosts are ok
#R$+<@@$*.$D> $@@$1%$2.$D<@@$A> else -> u%h@@gateway
R$+<@@$*.$D> $@@$1<@@$2.$D> all hosts okay
# if not local, and not a "fake" domain, ask the nameserver
R$+<@@$+.$~I> $@@$1<@@$[$2.$3$]> user@@host.domain
R$+<@@[$+]> $@@$1<@@[$2]> already ok
# Hide fake domains behind gateways
R$+<@@$+.CSNET> $@@$1%$2.CSNET<@@relay.cs.net> user@@host.CSNET
R$+<@@$+.BITNET> $@@$1<@@$2.BITNET> user@@host.BITNET
R$+<@@$+.UUCP> $@@$2!$1 user@@host.UUCP
############################################################
############################################################
#####
##### Local Domain TCP Mailer specification
#####
##### Messages processed by this specification are assumed to remain
##### the local domain -- hence, they must be canonical according to
##### RFC822 etc.
#####
##### This mailer is to be used with the Berkeley Name Server.
#####
############################################################
############################################################
Mtcpld, P=[IPC], F=mDFMueXLC, S=17, R=27, A=IPC $h, E=\r\n
S17
# cleanup forwarding a bit
R$*<$*>$* $1$2$3 defocus
R$* $:$>3$1 canonicalize
R$*%$*<@@$w> $:$>9$1%$2 user%localhost@@localdomain
# pass <route-addr>'s through
R<@@$+>$* $@@<@@$[$1$]>$2 resolve <route-addr>
# map colons to dots everywhere
R$*:$* $1.$2 map colons to dots
# output local host as user@@host.domain
R$- $@@$1<@@$w> user w/o host
R$+<@@$w> $@@$1<@@$w> this host
R$+<@@$=w> $@@$1<@@$w> or an alias
R$+<@@$-> $:$1<@@$[$2$]> ask nameserver
R$+<@@$w> $@@$1<@@$w> this host
R$+<@@$-> $@@$1<@@$2.$D> if nameserver fails
# if not local, and not a "fake" domain, ask the nameserver
R$+<@@$+.$~I> $@@$1<@@$[$2.$3$]> user@@host.domain
R$+<@@[$+]> $@@$1<@@[$2]> already ok
# output fake domains as user%fake@@relay
R$+<@@$+.CSNET> $@@$1%$2.CSNET<@@relay.cs.net> user@@host.CSNET
R$+<@@$+.BITNET> $@@$1%$2.BITNET<@@jade.berkeley.edu> user@@host.bitnet
R$+<@@$+.UUCP> $@@$2!$1<@@$w> user@@host.UUCP
S27
# cleanup
R$*<$*>$* $1$2$3 defocus
R$* $:$>3$1 now canonical form
R$*%$*<@@$w> $:$>9$1%$2 user%localhost@@localdomain
# pass <route-addr>'s through
R<@@$+>$* $@@<@@$[$1$]>$2 resolve <route-addr>
# map colons to dots everywhere
R$*:$* $1.$2 map colons to dots
# output local host as user@@host.domain
R$- $@@$1<@@$w> user w/o host
R$+<@@$w> $@@$1<@@$w> this host
R$+<@@$=w> $@@$1<@@$w> or an alias
R$+<@@$-> $:$1<@@$[$2$]> ask nameserver
R$+<@@$w> $@@$1<@@$w> this host
R$+<@@$-> $@@$1<@@$2.$D> if nameserver fails
# if not local, and not a "fake" domain, ask the nameserver
R$+<@@$+.$~I> $@@$1<@@$[$2.$3$]> user@@host.domain
R$+<@@[$+]> $@@$1<@@[$2]> already ok
# output fake domains as user%fake@@relay
R$+<@@$+.CSNET> $@@$1%$2.CSNET<@@relay.cs.net> user@@host.CSNET
R$+<@@$+.BITNET> $@@$1<@@$2.BITNET> user@@host.BITNET
R$+<@@$+.UUCP> $@@$2!$1 user@@host.UUCP
#####################
### Rule Zero ###
#####################
############################################################
############################################################
#####
##### RULESET ZERO PREAMBLE
#####
##### The beginning of ruleset zero is constant through all
##### configurations.
#####
############################################################
############################################################
S0
# first make canonical
R$*<$*>$* $1$2$3 defocus
R$+ $:$>3$1 make canonical
# handle special cases
R$*<@@[$+]>$* $:$1<@@$[[$2]$]>$3 lookup numeric internet addr
R$*<@@[$+]>$* $#tcp$@@[$2]$:$1@@[$2]$3 numeric internet spec
R$+ $:$>6$1
R$-<@@$w> $#local$:$1
R@@ $#error$:Invalid address handle <> form
# now delete the local info (extra, in case the name server messes up)
R<@@$w>:$* $@@$>0$1 @@here:... -> ...
R$*<@@$w> $@@$>0$1 ...@@here -> ...
# canonicalize using the nameserver if not internal domain
R$*<@@$*.$~I>$* $:$1<@@$[$2.$3$]>$4
R$*<@@$->$* $:$1<@@$[$2$]>$3
R$*<@@$->$* $:$1<@@$2.$D>$3 if nameserver fails
# now delete the local info
R<@@$w>:$* $@@$>0$1 @@here:... -> ...
R$*<@@$w> $@@$>0$1 ...@@here -> ...
# forward around hosts with communication problems
R$*<@@$=F>$* $#tcp$@@$F$:$1<@@$2>$3 reroute message
##################################
# End of ruleset zero preamble #
##################################
###############################################
### Machine dependent part of Rule Zero ###
###############################################
# resolve fake top level domains by forwarding to other hosts
R$*<@@$+.BITNET>$* $#tcpld$@@jade.berkeley.edu$:$1<@@$2.BITNET>$3 user@@host.BITNET
R$*<@@$+.CSNET>$* $#tcp$@@relay.cs.net$:$1<@@$2.CSNET>$3 user@@host.CSNET
# forward UUCP traffic to our UUCP gateway
R$*<@@$*.UUCP>$* $#tcpld$@@$F$:$1<@@$2.UUCP> uucp mail
# On monet, things are set up with the following two rules.
## hide behind a gateway when talking to people who don't speak domains
#R$*<@@$*.arpa>$* $#tcp$@@$2.arpa$:$1<@@$2.arpa>$3 user@@host.arpa
#
## but don't hide if they do.
#R$*<@@$*>$* $#tcpld$@@$2$:$1<@@$2>$3 user@@host.domain
# Instead, we hide all the time unless we're within our local domain.
R$*<@@$*.$D>$* $#tcpld$@@$2.$D$:$1<@@$2.$D>$3 user@@host.our.domain
R$*<@@$*>$* $#tcp$@@$2$:$1<@@$2>$3 user@@host.domain
# remaining names must be local
R$+ $#local$:$1 everything else
@
1.2
log
@convert From to >From.
@
text
@d32 1
a32 1
CwLOCAL sprite
d561 4
@
1.1
log
@Initial revision
@
text
@d365 1
a365 1
Mprog, P=/sprite/cmds/sh, F=lsDFMe, S=10, R=20, A=sh -c $u
@